package net.hn.hnms.biz.plan.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.Digits;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 其他生产计划信息
 *
 * @author ly
 * @since 1.0.0 2022-08-16
 */
@Data
@ApiModel("其他生产计划信息")
public class ExecutionOtherReq extends BaseReq {

	/**
	* 主键ID
	*/
	@ApiModelProperty(value = "id")
	private String otherImplementId;

	/**
	* 矿编号
	*/
	@ApiModelProperty(value = "煤矿编号")
	private String mineCode;

	/**
	* 日期
	*/
	@NotNull(message = "请选择日期")
	@JsonFormat(
			pattern = "yyyy-MM-dd",
            timezone = "GMT+8"
	)
	@ApiModelProperty(value = "日期")
	private Date executionDate;

	/**
	* 班次ID
	*/
	@ApiModelProperty(value = "班次ID")
//	@NotBlank(message = "请选择班次")
	private String shiftId;

	/**
	* 井下人数
	*/
	@ApiModelProperty(value = "井下人数")
	private Integer peopleCount;

	/**
	* 巷道维修(m)
	*/
	@ApiModelProperty(value = "巷道维修(m)")
	@Digits(integer = 9, fraction=2, message = "巷道维修格式不正确")
	@DecimalMin(value = "0.00", message = "巷道维修格式不正确")
	private BigDecimal repair;

	/**
	* 灌浆下土量(m³)
	*/
	@ApiModelProperty(value = "灌浆下土量(m³)")
	@Digits(integer = 9, fraction=2, message = "灌浆下土量格式不正确")
	@DecimalMin(value = "0.00", message = "灌浆下土量格式不正确")
	private BigDecimal grout;

	/**
	* 注氮量(m³)
	*/
	@ApiModelProperty(value = "注氮量(m³)")
	@Digits(integer = 9, fraction=2, message = "注氮量格式不正确")
	@DecimalMin(value = "0.00", message = "注氮量格式不正确")
	private BigDecimal nitrogen;

	/**
	* 瓦斯抽放量(m³)
	*/
	@ApiModelProperty(value = "瓦斯抽放量(m³)")
	@Digits(integer = 9, fraction=2, message = "瓦斯抽放量格式不正确")
	@DecimalMin(value = "0.00", message = "瓦斯抽放量格式不正确")
	private BigDecimal gasext;

	@ApiModelProperty(value = "公司编号")
	private String companyCode;


	@ApiModelProperty(value = "煤矿名称")
	private String mineName;

	@ApiModelProperty(value = "公司名称")
	private String companyName;
}